$(function () {
    var salary_datagrid = $("#salary_datagrid");
    var salary_dialog = $("#salary_dialog");
    var salary_form = $("#salary_form");

    salary_datagrid.datagrid({
        url: '/salary/query.do',
        fit: true,
        fitColumns: true,
        columns: [[
            {field: 'empId', title: '员工编号 ', width: 80,
                formatter:function (value) {
                    return value.id;
                }},
            {field: 'empName', title: '员工姓名', width: 80,
                formatter:function (value) {
                     return value.username;
                }},
            {field: 'month', title: '月份', width: 80},
            {field: 'basicsalary', title: '基础工资', width: 80},
            {field: 'workday', title: '工作天数', width: 80},
            {field: 'lateday', title: '迟到天数', width: 80},
            {field: 'earlyoutday', title: '早退天数', width: 80},
            {field: 'supplementday', title: '补签天数', width: 80},
            {field: 'finalsalary', title: '最终工资', width: 80},
            {field: 'accountday', title: '结算时间', width: 80}
        ]],
        toolbar: '#salary_toolbar',
        singleSelect: true,
        rownumbers: true,
        pagination: true
    });

    //给 a链接统一绑定事件
    $("a[data-cmd]").click(function () {
        var methodName = $(this).data("cmd");
        //调用方法
        methodObj[methodName]();
     });
    salary_dialog.dialog({
        title: '编辑员工工资',
        width: 350,
        height: 300,
        closed: true,
        resizable: false,
        buttons: [
            {
                text: '保存',
                iconCls: 'icon-save',
                handler: function () {
                    methodObj.save();
                }
            },
            {
                text: '取消',
                iconCls: 'icon-cancel',
                handler: function () {
                    methodObj.cancel();
                }
            }
        ],
        //清空表单数据
        onClose: function () {
            salary_form.form('clear');
        }
    });


    //使用一个对象来统一管理实践的方法
    var methodObj = {

        edit: function () {
            //判断是否选中了数据
            var row = $("#salary_datagrid").datagrid('getSelected');
            if (!row) {
                //如果没有选中 提示框提示信息
                $.messager.alert("温馨提示", "请选中一条数据", "warning");
                return;
            }

            //选中了一条数据 回显表单数据(根据同名匹配原则 row对象中的属性名要与form中name相同才可以回显)
            row["empName.username"]=row.empName.username;
            $("#salary_form").form('load', row);

            //弹出表格窗口
            $("#salary_dialog").dialog("open");

            //设置标题
            $("#salary_dialog").dialog('setTitle', '工资编辑');
        },
        //保存操作
        save: function () {
            //提交表单
            salary_form.form('submit', {
                url: '/salary/saveOrUpdate.do',
                success: function (data) {
                    //转换为json对象
                    data = $.parseJSON(data);
                    if (data.success) {
                        //提示用户操作结果
                        $.messager.alert('温馨提示', '保存成功!', 'info', function () {
                            //关闭弹出框
                            methodObj.cancel();
                            // load 加载和显示第一页的所有行
                            salary_datagrid.datagrid('reload')
                        })
                    } else {
                        $.messager.alert('温馨提示', '保存失败!', 'error')
                    }
                }
            })
        },

        //取消操作
        cancel: function () {
            salary_dialog.dialog('close');
        },

        //高级查询操作
        query: function () {
            //获取查询条件的值
            var keyword = $("#keyword").textbox("getValue");
            var beginDate = $("#beginDate").datebox("getValue");
            var endDate = $("#endDate").datebox("getValue");

            salary_datagrid.datagrid('load', {
                //发送额外的参数
                keyword: keyword,
                beginDate: beginDate,
                endDate: endDate
            })
        },
        //刷新
        reload:function () {
            salary_datagrid.datagrid('reload');
        },

        //导出文件操作
        exportXls: function () {
            //获取查询条件的值
            var keyword = $("#keyword").textbox("getValue");
            var beginDate = $("#beginDate").datebox("getValue");
            var endDate = $("#endDate").datebox("getValue");
            var deptId = $("#deptId").combobox("getValue");

            var url = "/salary/exportXls.do?"+ "keyword=" + keyword + "&" + "beginDate=" + beginDate +
                "&" + "endDate=" + endDate + "&" + "deptId=" + deptId;
            //打开下载窗口
            window.open(url);
        }
    };
});